/*** 
 * @Author: GXY
 * @Date: 2022-07-26 14:32:56
 * @LastEditTime: 2022-07-26 15:38:26
 * @LastEditors: GXY
 * @Description: 静态单链表
 * @FilePath: \DataStruct\single_list\single_list_s.h
 */


#ifndef _SINGLE_LIST_SINGLE_LIST_S_H_
#define _SINGLE_LIST_SINGLE_LIST_S_H_

typedef int SingleListDataType; // 确定链表数据域数据类型

typedef struct static_list
{
    
    int cur; // 游标法，指向下一个节点
    SingleListDataType data; // 数据域

}static_list; // 链表结构



void initStaticList(static_list* head, int size);
int mallocNodeSL(static_list* head);
unsigned char insertEleSL(static_list* head, unsigned int pos, SingleListDataType data, unsigned int size);
unsigned int getLengthSL(static_list* head, unsigned int size);
unsigned char delEleSL(static_list* head, unsigned int pos, unsigned int size);
SingleListDataType loceteEleSL(static_list* head, unsigned int pos, unsigned int size);
void printSL(static_list* head, int size);
unsigned int setElemSL(static_list* head, unsigned int pos, SingleListDataType data, unsigned int size);


// unsigned int ssinitArray(my_array* head, int size); // 初始化数组，开辟空间
// void array_destroyArray(my_array* arr); // 删除数组开辟空间
// void array_clearList(my_array* arr); // 清空数组
// unsigned char array_isEmpty(my_array* arr); // 判断数组是否为空
// ArrDataType array_getElem(my_array* arr, unsigned int index); // 获取某个位置的元素
// unsigned char array_addElem(my_array* arr, unsigned int index, ArrDataType data); // 向某个位置添加元素
// unsigned char array_delElem(my_array* arr, unsigned int index); // 删除第index个位置的元素
// unsigned char array_setElem(my_array* arr, unsigned int index, ArrDataType data); // 修改某个位置的元素
// unsigned int array_locateElem(my_array* arr, ArrDataType data); //查询某个元素是否在数组中


#endif